<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  // ||：只要有一个值为true，结果即为true
  // console.log( true || false );
  // console.log( false || true );
  // console.log( true || true );
  // console.log( false || false );

  // &&：只要有一个值为false，结果即为false
  // console.log( true && false );
  // console.log( false && true );
  // console.log( true && true );
  // console.log( false && false );

  // !：取反
  // console.log( !true );
  // console.log( !false );


  // -------

  // console.log( 0 || 1 );

  // console.log( 2 || 1 );
  // console.log( 1 || 2 );

  // console.log( 0 || NaN );
  // console.log( NaN || 0 );

  // 从左向右检测，遇到true值，结束并返回这个true值
  // 从左向右检测，先遇到false值，必然返回后一个值

  // -------

  // console.log( 0 && 1 );
  // console.log( 1 && 0 );
  
  // console.log( NaN && 0 );
  // console.log( 0 && NaN );

  // console.log( 1 && 2 );
  // console.log( 2 && 1 );

  // 从左向右检测，遇到false值，结束并返回这个false值
  // 从左向右检测，先遇到true值，必然返回后一个值

  // --------

  // console.log( !0 );
  // console.log( !1 );
  
  // 简单的快速的转布尔的方式
  // console.log( !!0 );
  // console.log( !!1 );


  // 隐式类型转换
  // 其他转布尔


  console.log( {} && undefined );


</script>
</html>